Closed Bug 1466638 Opened 7 years ago Closed 7 years ago

Assertion failure: aParameters.Offset() == LayerIntPoint(0,0), at src/layout/painting/nsDisplayList.cpp:4631

Categories

(Core :: Web Painting, defect, P2)

defect

Tracking

()

RESOLVED FIXED
mozilla63
Tracking Status
firefox-esr52 --- wontfix
firefox-esr60 --- wontfix
firefox61 --- wontfix
firefox62 --- wontfix
firefox63 --- fixed

People

(Reporter: tsmith, Assigned: mattwoodrow)

References

(Blocks 1 open bug)

Details

(Keywords: assertion, testcase)

Attachments

(2 files)

Attached file testcase.html
Reduced with m-c: BuildID=20180604095036 SourceStamp=fa5724780fe76d6ccbbd08d978342a1db6a43d49 Assertion failure: aParameters.Offset() == LayerIntPoint(0,0), at src/layout/painting/nsDisplayList.cpp:4631 #0 nsDisplayImageContainer::ConfigureLayer(mozilla::layers::ImageLayer*, mozilla::ContainerLayerParameters const&) src/layout/painting/nsDisplayList.cpp:4614:3 #1 nsDisplayBackgroundImage::BuildLayer(nsDisplayListBuilder*, mozilla::layers::LayerManager*, mozilla::ContainerLayerParameters const&) src/layout/painting/nsDisplayList.cpp:4119:3 #2 mozilla::ContainerState::ProcessDisplayItems(nsDisplayList*) src/layout/painting/FrameLayerBuilder.cpp:4649:38 #3 mozilla::FrameLayerBuilder::BuildContainerLayerFor(nsDisplayListBuilder*, mozilla::layers::LayerManager*, nsIFrame*, nsDisplayItem*, nsDisplayList*, mozilla::ContainerLayerParameters const&, mozilla::gfx::Matrix4x4Typed<mozilla::gfx::UnknownUnits, mozilla::gfx::UnknownUnits> const*, unsigned int) src/layout/painting/FrameLayerBuilder.cpp:5993:9 #4 nsDisplayFilter::BuildLayer(nsDisplayListBuilder*, mozilla::layers::LayerManager*, mozilla::ContainerLayerParameters const&) src/layout/painting/nsDisplayList.cpp:9912:5 #5 mozilla::FrameLayerBuilder::AddPaintedDisplayItem(mozilla::PaintedLayerData*, mozilla::AssignedDisplayItem&, mozilla::ContainerState&, mozilla::layers::Layer*) src/layout/painting/FrameLayerBuilder.cpp:5093:20 #6 void mozilla::ContainerState::FinishPaintedLayerData<mozilla::PaintedLayerDataNode::PopAllPaintedLayerData()::$_0>(mozilla::PaintedLayerData&, mozilla::PaintedLayerDataNode::PopAllPaintedLayerData()::$_0) src/layout/painting/FrameLayerBuilder.cpp:3416:20 #7 mozilla::PaintedLayerDataNode::PopAllPaintedLayerData() src/layout/painting/FrameLayerBuilder.cpp:3045:23 #8 mozilla::PaintedLayerDataNode::Finish(bool) src/layout/painting/FrameLayerBuilder.cpp:3010:3 #9 mozilla::PaintedLayerDataNode::FinishAllChildren(bool) src/layout/painting/FrameLayerBuilder.cpp:2999:19 #10 mozilla::PaintedLayerDataNode::Finish(bool) src/layout/painting/FrameLayerBuilder.cpp:3008:3 #11 mozilla::PaintedLayerDataTree::Finish() src/layout/painting/FrameLayerBuilder.cpp:3070:12 #12 mozilla::ContainerState::Finish(unsigned int*, mozilla::gfx::IntRectTyped<mozilla::gfx::UnknownUnits> const&, nsDisplayList*) src/layout/painting/FrameLayerBuilder.cpp:5621:25 #13 mozilla::FrameLayerBuilder::BuildContainerLayerFor(nsDisplayListBuilder*, mozilla::layers::LayerManager*, nsIFrame*, nsDisplayItem*, nsDisplayList*, mozilla::ContainerLayerParameters const&, mozilla::gfx::Matrix4x4Typed<mozilla::gfx::UnknownUnits, mozilla::gfx::UnknownUnits> const*, unsigned int) src/layout/painting/FrameLayerBuilder.cpp:6000:9 #14 nsDisplayList::BuildLayers(nsDisplayListBuilder*, mozilla::layers::LayerManager*, unsigned int, bool) src/layout/painting/nsDisplayList.cpp:2566:9 #15 nsDisplayList::PaintRoot(nsDisplayListBuilder*, gfxContext*, unsigned int) src/layout/painting/nsDisplayList.cpp:2777:20 #16 nsLayoutUtils::PaintFrame(gfxContext*, nsIFrame*, nsRegion const&, unsigned int, nsDisplayListBuilderMode, nsLayoutUtils::PaintFrameFlags) src/layout/base/nsLayoutUtils.cpp:3843:12 #17 mozilla::PresShell::Paint(nsView*, nsRegion const&, unsigned int) src/layout/base/PresShell.cpp:6314:5 #18 nsViewManager::ProcessPendingUpdatesPaint(nsIWidget*) src/view/nsViewManager.cpp:480:19 #19 nsViewManager::ProcessPendingUpdatesForView(nsView*, bool) src/view/nsViewManager.cpp:412:33 #20 nsViewManager::ProcessPendingUpdates() src/view/nsViewManager.cpp:1102:5 #21 nsRefreshDriver::Tick(long, mozilla::TimeStamp) src/layout/base/nsRefreshDriver.cpp:2039:11 #22 mozilla::RefreshDriverTimer::TickRefreshDrivers(long, mozilla::TimeStamp, nsTArray<RefPtr<nsRefreshDriver> >&) src/layout/base/nsRefreshDriver.cpp:301:7 #23 mozilla::RefreshDriverTimer::Tick(long, mozilla::TimeStamp) src/layout/base/nsRefreshDriver.cpp:320:5 #24 mozilla::VsyncRefreshDriverTimer::RunRefreshDrivers(mozilla::TimeStamp) src/layout/base/nsRefreshDriver.cpp:760:5 #25 mozilla::VsyncRefreshDriverTimer::RefreshDriverVsyncObserver::TickRefreshDriver(mozilla::TimeStamp) src/layout/base/nsRefreshDriver.cpp:673:35 #26 mozilla::VsyncRefreshDriverTimer::RefreshDriverVsyncObserver::NotifyVsync(mozilla::TimeStamp) src/layout/base/nsRefreshDriver.cpp:574:9 #27 mozilla::layout::VsyncChild::RecvNotify(mozilla::TimeStamp const&) src/layout/ipc/VsyncChild.cpp:68:16 #28 mozilla::layout::PVsyncChild::OnMessageReceived(IPC::Message const&) src/obj-firefox/ipc/ipdl/PVsyncChild.cpp:167:20 #29 mozilla::ipc::PBackgroundChild::OnMessageReceived(IPC::Message const&) src/obj-firefox/ipc/ipdl/PBackgroundChild.cpp:1988:28 #30 mozilla::ipc::MessageChannel::DispatchAsyncMessage(IPC::Message const&) src/ipc/glue/MessageChannel.cpp:2134:25 #31 mozilla::ipc::MessageChannel::DispatchMessage(IPC::Message&&) src/ipc/glue/MessageChannel.cpp:2064:17 #32 mozilla::ipc::MessageChannel::RunMessage(mozilla::ipc::MessageChannel::MessageTask&) src/ipc/glue/MessageChannel.cpp:1910:5 #33 mozilla::ipc::MessageChannel::MessageTask::Run() src/ipc/glue/MessageChannel.cpp:1943:15 #34 nsThread::ProcessNextEvent(bool, bool*) src/xpcom/threads/nsThread.cpp:1088:14 #35 NS_ProcessNextEvent(nsIThread*, bool) src/xpcom/threads/nsThreadUtils.cpp:519:10 #36 mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate*) src/ipc/glue/MessagePump.cpp:125:5 #37 MessageLoop::RunInternal() src/ipc/chromium/src/base/message_loop.cc:325:10 #38 MessageLoop::Run() src/ipc/chromium/src/base/message_loop.cc:298:3 #39 nsBaseAppShell::Run() src/widget/nsBaseAppShell.cpp:157:27 #40 XRE_RunAppShell() src/toolkit/xre/nsEmbedFunctions.cpp:893:22 #41 mozilla::ipc::MessagePumpForChildProcess::Run(base::MessagePump::Delegate*) src/ipc/glue/MessagePump.cpp:269:9 #42 MessageLoop::RunInternal() src/ipc/chromium/src/base/message_loop.cc:325:10 #43 MessageLoop::Run() src/ipc/chromium/src/base/message_loop.cc:298:3 #44 XRE_InitChildProcess(int, char**, XREChildData const*) src/toolkit/xre/nsEmbedFunctions.cpp:719:34 #45 content_process_main(mozilla::Bootstrap*, int, char**) src/browser/app/../../ipc/contentproc/plugin-container.cpp:50:30 #46 main src/browser/app/nsBrowserApp.cpp:282:18 #47 __libc_start_main /build/glibc-Cl5G7W/glibc-2.23/csu/../csu/libc-start.c:291 #48 _start (firefox+0x423544)
Flags: in-testsuite?
Priority: -- → P2
Assignee: nobody → matt.woodrow
Comment on attachment 8986635 [details] Bug 1466638 - Implement support for ContainerLayerParameters::mOffset in nsDisplayImageContainer. https://reviewboard.mozilla.org/r/251944/#review261564 Could you add a reftest for this as well?
Attachment #8986635 - Flags: review?(mstange) → review+
(In reply to Markus Stange [:mstange] from comment #3) > Comment on attachment 8986635 [details] > Bug 1466638 - Implement support for ContainerLayerParameters::mOffset in > nsDisplayImageContainer. > > https://reviewboard.mozilla.org/r/251944/#review261564 > > Could you add a reftest for this as well? I'm not entirely sure how. We need background-position to be animated (and we don't seem to support will-change:background-position) in order to trigger a layer. We need a stable state to get consistent reftest results though.
We're sorry, Autoland could not rebase your commits for you automatically. Please manually rebase your commits and try again. hg error in cmd: hg rebase -s 498f1ca10aa7f0c8fd4da24587a2f69c13d3c493 -d 01837d6c41b6: rebasing 471248:498f1ca10aa7 "Bug 1466638 - Implement support for ContainerLayerParameters::mOffset in nsDisplayImageContainer. r=mstange" (tip) merging layout/base/crashtests/crashtests.list merging layout/painting/nsDisplayList.cpp warning: conflicts while merging layout/base/crashtests/crashtests.list! (edit, then use 'hg resolve --mark') unresolved conflicts (see hg resolve, then hg rebase --continue)
Here's an existing reftest that applies a non-animating animation to background-position: https://searchfox.org/mozilla-central/source/layout/reftests/css-animations/background-position-important.html
(In reply to Markus Stange [:mstange] from comment #6) > Here's an existing reftest that applies a non-animating animation to > background-position: > https://searchfox.org/mozilla-central/source/layout/reftests/css-animations/ > background-position-important.html That's awesome! Updated the patch with a reftest.
thanks!
Pushed by mwoodrow@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/c211dcc6deac Implement support for ContainerLayerParameters::mOffset in nsDisplayImageContainer. r=mstange
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla63
Flags: in-testsuite? → in-testsuite+
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: